package br.com.jvet.persistencia;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.ejb.Stateless;
import javax.faces.model.SelectItem;

import br.com.jvet.entidade.Cargo;

@Stateless
public class CargoDAO extends AbstractDAO<Cargo, Integer> {

	private static String SELECT_EXISTE = "SELECT c from "
			+ Cargo.class.getSimpleName()
			+ " c where upper(c.descricao) =:descricao";

	public CargoDAO() {
		super(Cargo.class);

	}

	public boolean existe(Cargo cargo) {
		Map<String, Object> parameters = new HashMap<String, Object>();
		parameters.put("descricao", cargo.getDescricao().toUpperCase().trim());

		Cargo outro = super.buscarUmResultado(SELECT_EXISTE, parameters);
		if (outro != null && outro.getCodigo() != cargo.getCodigo()) {
			return true;
		}
		return false;
	}

	public List<SelectItem> retornaListaSelectItems() {

		ArrayList<SelectItem> lista = new ArrayList<SelectItem>();

		lista.add(new SelectItem(new Cargo(0,""),""));
		for (Cargo cargo : listar()) {
			lista.add(new SelectItem(cargo.getDescricao(), cargo.getDescricao()));
		}

		return lista;
	}
}
